The present invention generally relates to compression of images and more particularly to a code discarding processing used in an image compression process conducted by an image encoding algorithm that divides an image into tiles and decomposes each tile into sub bands by frequency conversion and further conducts bit-plane encoding of the coefficients for the sub-bands in each encoding unit.
As an example of this type of image encoding process, a JPEG 2000 encoding algorithm is known. It should be noted that the JPEG-2000 algorithm has become an international standard in 2001 (basic specification: ISO/IEC FCD 15,444-1). For more information about JPEG 2000, reference should be made to Yasuyuki Nomizu, “JPEG 2000, Next Generation Image Encoding Method,” Feb. 13, 2001 Triceps Co., Ltd. Further, motion picture processing of JPEG 2000 is defined in the expansion of JPEG 2000 (ISO/IEC FCD 15,444-3).
In the motion picture processing of the JPEG 2000 algorithm, each of the time-sequentially continuing still pictures is treated as a frame, and each frame is encoded by an algorithm defined in the basic specification of JPEG 2000, independently to the frames before or after the frame under consideration. Thus, each motion picture frame of JPEG 2000 can be treated similarly to a still picture.
In JPEG 2000, an image is divided into non-overlapping rectangular regions called tiles, and in each tile, the image is decomposed into plural sub bands as a result of frequency conversion (two-dimensional discrete wavelet transformation). Further, the obtained wavelet coefficients are entropy encoded for each sub band, after quantization. In this entropy encoding, a block based bit plane encoding technology called EBCOT, which includes dividing into blocks, coefficient modeling, and binary arithmetic encoding, is used.
In JPEG 2000, on the other hand, there exits a problem in that discontinuity of images becomes observable in the decompressed image at the tile boundary in the case the compression ratio is increased (tile boundary distortion). It should be noted that such tile boundary distortion is caused primarily as a result of an increase in the quantization error of the wavelet coefficients at the tile edge, while such an increase of the quantization error is caused as a result of the procedure of interpolating the picture element values or coefficient values by using a process called mirroring at the time of performing the wavelet transformation of each tile. It should be noted that there is a shortage of picture elements occurs at the tile edge, and the mirroring technique is used in view of such shortage of the picture elements.
Based upon this recognition, there is proposed a method of suppressing the tile boundary distortion as disclosed in the U.S. Pat. No. 5,710,835 in which the division of an image into the tiles is conducted such that the adjacent tiles overlap with each other. Further, there is a known procedure of decreasing the quantization rate at the tile boundary as compared with the quantization rate for other parts of the image. Reference should be made to Japanese Laid Open Patent Application 2002-374532.
Another reason the tile boundary distortion is caused is the influence of the code discard processing.
In JPEG 2000, it should be noted that the coefficients of each sub band are encoded by every encoding unit called a code block, which is used as the unit of encoding processing, wherein the encoding of the coefficients is conducted for each bit plane starting from the upper most bit toward the lower most bit. In this encoding process, there is conducted a process for selectively discarding the codes of each bit plane in each code block, until a desired compression ratio (code amount) is achieved. This process of discarding the code is equivalent to the quantization of the coefficients, and thus, this process is called post quantization.
In such a procedure of discarding the codes, the importance of the code is evaluated for the bit planes in each of the code blocks, and the discarding of the code is conducted consecutively, starting from the code having the least significant importance. With regard to the evaluation method of the importance of the code, various methods are proposed, including the one described in D. S. Taubman and M. W. Marcellin, “JPEG2000: Image Compression, Fundamentals, Standards and Practice,” Kluwer, 2002. Further, with regard to the implementation method for discarding the code starting from the one having the least significant importance, it is typical to use a process conducted by the Lagrange's method of undetermined multipliers, as is described in D. S. Taubman and M. W. Marcellin, op. cit.
However, even in the case where the process disclosed in the U.S. Pat. No. 5,710,835 or Japanese Laid Open Patent Application 2002-374532 is employed, there still arises cases in which the tile boundary distortion cannot be suppressed sufficiently due to the effect of the foregoing code discarding process.